package com.kaka.bus.engine.invite;

import com.kaka.bus.bean.CommissionBean;
import com.kaka.bus.bean.HttpWrapper;
import com.kaka.bus.bean.InviteBean;
import com.kaka.bus.bean.InviteRule;
import com.kaka.bus.bean.ShareBean;
import com.kaka.bus.mvp.BasePresenter;
import com.kaka.bus.mvp.BaseView;

import java.util.List;

/**
 * Created by OnionMac on 2018/4/16.
 */

public interface InviteContract {


    interface View extends BaseView {

        void onInviteRuleResult(HttpWrapper<InviteRule> wrapper);

        void onInviteCommissionResult(HttpWrapper<CommissionBean> wrapper);

        void onCommissionWithdrawResult(HttpWrapper<String> wrapper);

        void onShareResult(HttpWrapper<ShareBean> shareBean);

        void onInviteListResult(HttpWrapper<List<InviteBean>> data, int level);

        void onInviteListLoadMoreResult(HttpWrapper<List<InviteBean>> data,int level);

        void onListError();

        void onListLoadMoreError();
    }

    interface Presenter extends BasePresenter<View> {

        void getInviteRule();

        void getInviteCommission(String userId);

        void getInviteShare(String userId);

        void commissionWithdraw(String userId);

        void getInviteList(String userId,int nowPage,int pageSize,int level);

        void getInviteListLoadMore(String userId,int nowPage,int pageSize,int level);
    }

}
